package org.ymy2;

import org.apache.hadoop.hive.ql.exec.UDF;

public class TimeSizeUDF extends UDF {

    String lastUserId = null;
    int lastTimeInterval = 0;
    int groupingId = 0;
    boolean isNextAdd = false;

    public Integer evaluate(String userId, String timeInterval) {

        int _timeInterval = Integer.parseInt(timeInterval);
        if (!userId.equals(lastUserId)){
            // 进入另外一个userId逻辑
            isNextAdd = false;
            groupingId = 0;
            lastTimeInterval = 0;
            lastTimeInterval += _timeInterval;
        }else {
            // 同一个userId处理逻辑
            lastTimeInterval += _timeInterval;
            if (isNextAdd){
                groupingId += 1;
                isNextAdd = false;
            }
            if (lastTimeInterval > 30) {
                lastTimeInterval = 0;
                isNextAdd = true;
            }

        }

        lastUserId = userId;

        return groupingId;
    }
}
